home *** CD-ROM | disk | FTP | other *** search
- /* EVAR.H: Environment and user variable definitions
- for MicroEMACS
-
- written 1986 by Daniel Lawrence
- */
-
- /* structure to hold user variables and their definitions */
-
- typedef struct UVAR {
- char u_name[NVSIZE + 1]; /* name of user variable */
- char *u_value; /* value (string) */
- } UVAR;
-
- /* current user variables (This structure will probably change) */
-
- #define MAXVARS 100
-
- UVAR uv[MAXVARS]; /* user variables */
-
- /* list of recognized environment variables */
-
- char *envars[] = {
- "fillcol", /* current fill column */
- "pagelen", /* number of lines used by editor */
- "curcol", /* current column pos of cursor */
- "curline", /* current line in file */
- "ram", /* ram in use by malloc */
- "flicker", /* flicker supression */
- "curwidth", /* current screen width */
- "cbufname", /* current buffer name */
- "cfname", /* current file name */
- "sres", /* current screen resolution */
- "debug", /* macro debugging */
- "status", /* returns the status of the last command */
- "palette", /* current palette string */
- };
-
- #define NEVARS sizeof(envars) / sizeof(char *)
-
- /* and its preprocesor definitions */
-
- #define EVFILLCOL 0
- #define EVPAGELEN 1
- #define EVCURCOL 2
- #define EVCURLINE 3
- #define EVRAM 4
- #define EVFLICKER 5
- #define EVCURWIDTH 6
- #define EVCBUFNAME 7
- #define EVCFNAME 8
- #define EVSRES 9
- #define EVDEBUG 10
- #define EVSTATUS 11
- #define EVPALETTE 12
-
- /* list of recognized user functions */
-
- typedef struct UFUNC {
- char *f_name; /* name of function */
- int f_type; /* 1 = monamic, 2 = dynamic */
- } UFUNC;
-
- #define MONAMIC 1
- #define DYNAMIC 2
- #define TRINAMIC 3
-
- UFUNC funcs[] = {
- "add", DYNAMIC, /* add two numbers together */
- "sub", DYNAMIC, /* subtraction */
- "tim", DYNAMIC, /* multiplication */
- "div", DYNAMIC, /* division */
- "mod", DYNAMIC, /* mod */
- "neg", MONAMIC, /* negate */
- "cat", DYNAMIC, /* concatinate string */
- "lef", DYNAMIC, /* left string(string, len) */
- "rig", DYNAMIC, /* right string(string, pos) */
- "mid", TRINAMIC, /* mid string(string, pos, len) */
- "not", MONAMIC, /* logical not */
- "equ", DYNAMIC, /* logical equality check */
- "les", DYNAMIC, /* logical less than */
- "gre", DYNAMIC, /* logical greater than */
- "seq", DYNAMIC, /* string logical equality check */
- "sle", DYNAMIC, /* string logical less than */
- "sgr", DYNAMIC, /* string logical greater than */
- "ind", MONAMIC, /* evaluate indirect value */
- };
-
- #define NFUNCS sizeof(funcs) / sizeof(char *)
-
- /* and its preprocesor definitions */
-
- #define UFADD 0
- #define UFSUB 1
- #define UFTIMES 2
- #define UFDIV 3
- #define UFMOD 4
- #define UFNEG 5
- #define UFCAT 6
- #define UFLEFT 7
- #define UFRIGHT 8
- #define UFMID 9
- #define UFNOT 10
- #define UFEQUAL 11
- #define UFLESS 12
- #define UFGREATER 13
- #define UFSEQUAL 14
- #define UFSLESS 15
- #define UFSGREAT 16
- #define UFIND 17
-